//当前页码
var pageNumber;
//总数
var totalCount;
//总页数
var totalPage;
//页码
var pageSize=10;

var pageIndex;

var $ddf;

/**
 * 初始化参数
 */
function initPageParams(){
	
	 pageNumber =new Array(1,1,1,1);
	
	 totalCount =new Array(0,0,0,0);
	 
	 totalPage =new Array(1,1,1,1);
	 
	 pageIndex=0;
	 
	 first=1;
	 
	 current=1;
}


/**
 * 设置分页
 */
function setPage(_pageIndex,_pageNumber,_totalCount,_totalPage,_ddf){
	
	
	
	
	if(_pageNumber==1){
		
		 first=1;
		 
		 current=1;
		 
		 firstFlag=true;
		
	}
	
	$ddf=_ddf;
		
	pageIndex=_pageIndex;
	
	pageNumber[pageIndex]=_pageNumber;
		
	totalCount[pageIndex]=_totalCount;
	
	totalPage[pageIndex]=_totalPage;
			
	showFootPage(pageIndex,pageNumber[pageIndex],totalPage[pageIndex]);
	
}

/**
 * 获取序列号
 */
function getSequence(pageNumber,num){
	
	var index=0;
	
	if(pageNumber>1){
		
		index=getPageSize()*(pageNumber-1);
	}
	
	return index+num;
	
}

/**
 * 每页显示小数
 * 
 * @return 当前页
 */
function getPageSize() {
	
	return pageSize;
}

/**
 * 设置每页显示数
 * 
 */
function setPageSize(_pageSize) {
	
	pageSize=_pageSize;
}




/**
 * 获取当前页
 * 
 * @return 当前页
 */
function getPageNumber() {
	return pageNumber[pageIndex]>=1?pageNumber[pageIndex]:1;
}
/**
 * 获取下一页编码
 * 
 * @return 下一页编码
 */
function getNextPageNumber() {
	return getPageNumber() + 1;
}
/**
 * 获取上一页编码
 * 
 * @return 上一页编码
 */
function getPreviousPageNumber() {
	return getPageNumber() - 1;
}

/**
 * 是否是首页（第一页），第一页页码为1
 * 
 * @return 首页标识
 */
function isFirstPage() {
	return getPageNumber() == 1;
}

/**
 * 是否是最后一页
 * 
 * @return 末页标识
 */
function isLastPage() {
	return getPageNumber() >= getPages();
}
/**
 * 是否有下一页
 * 
 * @return 下一页标识
 */
function isHasNextPage() {
	return getPages() > getPageNumber();
}
/**
 * 是否有上一页
 * 
 * @return 上一页标识
 */
function isHasPreviousPage() {
	return getPageNumber() > 1;
}

/**
 * 总页数
 * 
 * @return 总页数
 */
function getPages() {
	return totalPage[pageIndex];
}

/**
 * 底部分页
 */
var _middleStr="",showPageNum=5,first=1,current=1,firstFlag=true;
function showFootPage(pageIndex,pageNumber,totalPage){
			
	current=pageNumber;
	
	
	var htmlStr="",middleStr="";
	
	var count=0;
	
	var max=0;
	
    
    
	htmlStr += '<div class="span4 page_num">共&nbsp;<code>'+totalCount[pageIndex]+'</code>&nbsp;&nbsp;条,当前第&nbsp;<code>'+pageNumber+'</code>&nbsp;页,&nbsp;共<code>'+totalPage+'</code>&nbsp;页&nbsp;&nbsp;<span id="page_custom"></span></div>';
	
	htmlStr += '<div class="pagination alternate dataTables_paginate" >';
	
	htmlStr += '<span class="loading_box"></span>';
	
	htmlStr += '<ul>';
	
	htmlStr += '<li><button id="firstBtn'+pageIndex+'" type="button" onclick='+$ddf+'.gotoPage("first")>首页</button></li>';
	
	htmlStr += ' <li><button id="previousBtn'+pageIndex+'" type="button" onclick='+$ddf+'.gotoPage("previous")>上一页</button></li>';

	
	//如果总页数小于showPageNum,则显示出来的数和返回的页数是一样的,例如总页数是2  ,第一页显示 ===首页 第一页1,2 下一页 尾页
	//如果总页数大于showPageNum,则显示出来的数和showPageNum是一样的,例如总页数是5  ,第一页显示 ===首页 第一页1,2,3,4 下一页 尾页
	for(var i=0;i<totalPage;i++){
		
		if(totalPage>showPageNum){
			
			if(pageNumber+i<=totalPage && count<=showPageNum){
				
				count++;
				
				max=pageNumber+i;
			}
			
		}else{
			
			
			htmlStr+=' <li><button type="button" id="c_page'+pageIndex+(i+1)+'" onclick='+$ddf+'.jumpPage('+(i+1)+')>'+(i+1)+'</button></li>';
			
		}
	
		
	}
	//alert("current="+current);
	//alert("first="+first);
	//alert("showPageNum/2="+(showPageNum/2));
	//alert("current-first="+(current-first));
	var values=current-first;
	
	//如果小于0,则表示在按上一页
	if(values<0){
		
		values=-values;
		
		firstFlag=true;
	}
	
	//默认第一次进来,之后的就判断这个值，如果大于showPageNum/2，则分页的数字就改变，例如原先是 1,2,3,4,5,6  会变成 4,5,6,7,8,9
	if(firstFlag || values>parseInt(showPageNum/2)){

		firstFlag=false;
		
		first=pageNumber;
		
		if(pageNumber<=totalPage-showPageNum){
			for(var i=pageNumber;i<=max;i++){
				
				
					middleStr+=' <li><button type="button" id="c_page'+pageIndex+i+'" onclick='+$ddf+'.jumpPage('+i+')>'+i+'</button></li>';
					
					_middleStr=middleStr;
			
		
			}	
			
			
		}else{
			
				//点击最后几页的时候
				for(var i=0;i<=showPageNum;i++){
					
					if(totalPage>showPageNum){
						
						middleStr+=' <li><button type="button" id="c_page'+pageIndex+(totalPage-(showPageNum-i))+'" onclick='+$ddf+'.jumpPage('+(totalPage-(showPageNum-i))+') >'+(totalPage-(showPageNum-i))+'</button></li>';
					
					}
					_middleStr=middleStr;
			
				}	
		
		
			
		}
	}
	
	htmlStr+=_middleStr;

	htmlStr += ' <li><button id="nextBtn'+pageIndex+'" type="button" onclick='+$ddf+'.gotoPage("next")>下一页</button></li>';
	
	htmlStr += ' <li><button id="lastBtn'+pageIndex+'" type="button" onclick='+$ddf+'.gotoPage("last")>尾页</button></li>';

	htmlStr += '</ul>';
	
	htmlStr += '</div>';
	
	
	$("#footPageDiv"+pageIndex).html(htmlStr);
	
	$("#c_page"+pageIndex+pageNumber).attr("disabled","disabled").siblings().attr("disabled",true)
	
	$("#c_page"+pageIndex+pageNumber).addClass("active").siblings().removeClass("active");
	
	
	if(isFirstPage()){
		$("#firstBtn"+pageIndex).attr("disabled","disabled");
	}else{
		$("#firstBtn"+pageIndex).attr("disabled",false);
	}
	if(isLastPage()){
		
		$("#lastBtn"+pageIndex).attr("disabled","disabled");
		
	}else{
		$("#lastBtn"+pageIndex).attr("disabled",false);
		
	}
	
	if(!isHasNextPage()){
		
		$("#nextBtn"+pageIndex).attr("disabled","disabled");
		
	}else{
		
		$("#nextBtn"+pageIndex).attr("disabled",false);
	}

	if(!isHasPreviousPage()){
		
		$("#previousBtn"+pageIndex).attr("disabled","disabled");
		
	}else{
		
		$("#previousBtn"+pageIndex).attr("disabled",false);
	}

}

